diff --git a/lib_generic/lzma/LzmaDec.c b/lib_generic/lzma/LzmaDec.c
index 89d934a..acffb14 100644
--- a/lib_generic/lzma/LzmaDec.c
+++ b/lib_generic/lzma/LzmaDec.c
@@ -1,6 +1,9 @@
 /* LzmaDec.c -- LZMA Decoder
 2008-11-06 : Igor Pavlov : Public domain */
 
+#include <config.h>
+#include <common.h>
+#include <watchdog.h>
 #include "LzmaDec.h"
 
 #include <string.h>
@@ -156,6 +159,8 @@
   UInt32 range = p->range;
   UInt32 code = p->code;
 
+  WATCHDOG_RESET();
+
   do
   {
     CLzmaProb *prob;
@@ -176,6 +181,9 @@
       if (state < kNumLitStates)
       {
         symbol = 1;
+
+        WATCHDOG_RESET();
+
         do { GET_BIT(prob + symbol, symbol) } while (symbol < 0x100);
       }
       else
@@ -183,6 +191,9 @@
         unsigned matchByte = p->dic[(dicPos - rep0) + ((dicPos < rep0) ? dicBufSize : 0)];
         unsigned offs = 0x100;
         symbol = 1;
+
+        WATCHDOG_RESET();
+
         do
         {
           unsigned bit;
@@ -316,6 +327,9 @@
             {
               UInt32 mask = 1;
               unsigned i = 1;
+
+              WATCHDOG_RESET();
+
               do
               {
                 GET_BIT2(prob + i, i, ; , distance |= mask);
@@ -327,6 +341,9 @@
           else
           {
             numDirectBits -= kNumAlignBits;
+
+            WATCHDOG_RESET();
+
             do
             {
               NORMALIZE
@@ -399,12 +416,18 @@
           ptrdiff_t src = (ptrdiff_t)pos - (ptrdiff_t)dicPos;
           const Byte *lim = dest + curLen;
           dicPos += curLen;
+
+          WATCHDOG_RESET();
+
           do
             *(dest) = (Byte)*(dest + src);
           while (++dest != lim);
         }
         else
         {
+
+          WATCHDOG_RESET();
+
           do
           {
             dic[dicPos++] = dic[pos];
@@ -417,6 +440,9 @@
     }
   }
   while (dicPos < limit && buf < bufLimit);
+
+  WATCHDOG_RESET();
+
   NORMALIZE;
   p->buf = buf;
   p->range = range;
diff --git a/lib_generic/lzma/LzmaTools.c b/lib_generic/lzma/LzmaTools.c
index c2a91e5..88ba399 100644
--- a/lib_generic/lzma/LzmaTools.c
+++ b/lib_generic/lzma/LzmaTools.c
@@ -36,6 +36,7 @@
 
 #include <config.h>
 #include <common.h>
+#include <watchdog.h>
 
 #ifdef CONFIG_LZMA
 
@@ -112,6 +113,9 @@
 
     /* Decompress */
     outProcessed = outSizeFull;
+
+    WATCHDOG_RESET();
+
     res = LzmaDecode(
         outStream, &outProcessed,
         inStream + LZMA_DATA_OFFSET, &compressedSize,
